home *** CD-ROM | disk | FTP | other *** search
/ ftp.mactech.com 2010 / ftp.mactech.com.tar / ftp.mactech.com / machack / Hacks97 / WarriorsProgress.sit / Warrior’s Progress / source code / Source / Libraries / Windows / StrangeWindow.cp < prev    next >
Text File  |  1997-06-28  |  2KB  |  78 lines

  1. // StrangeWindow.cp
  2.  
  3. #ifndef StrangeWindow_h
  4. #include "StrangeWindow.h"
  5. #endif
  6. #ifndef WindowUpdater_h
  7. #include "WindowUpdater.h"
  8. #endif
  9. #ifndef MouseDownEvent_h
  10. #include "MouseDownEvent.h"
  11. #endif
  12. #ifndef GrayRegion_h
  13. #include "GrayRegion.h"
  14. #endif
  15.  
  16. void StrangeWindow::Update()
  17.   {
  18.     WindowUpdater updater( window );
  19.   }
  20.  
  21. void StrangeWindow::Activate()
  22.   {
  23.   }
  24.  
  25. void StrangeWindow::Deactivate()
  26.   {
  27.   }
  28.  
  29. void StrangeWindow::ClickContent( const MouseDownEvent& )
  30.   {
  31.     if ( window != FrontWindow() )
  32.         SelectWindow( window );
  33.   }
  34.  
  35. void StrangeWindow::ClickDrag( const MouseDownEvent& click )
  36.   {
  37.     if ( window != FrontWindow() && !click.Command() )
  38.         SelectWindow( window );
  39.     
  40.     DragWindow( window, click.Where(), &GrayRegion::The().Bounds() );
  41.   }
  42.  
  43. void StrangeWindow::ClickClose( const MouseDownEvent& click )
  44.   {
  45.     Assert( window == FrontWindow() );
  46.     
  47.     if ( TrackGoAway( window, click.Where() ) )
  48.         HideWindow( window );
  49.   }
  50.  
  51. void StrangeWindow::ClickZoomIn( const MouseDownEvent& click )
  52.   {
  53.     Assert( window == FrontWindow() );
  54.  
  55.     if ( TrackBox( window, click.Where(), inZoomIn ) )
  56.         ZoomWindow( window, inZoomIn, true );
  57.   }
  58.  
  59. void StrangeWindow::ClickZoomOut( const MouseDownEvent& click )
  60.   {
  61.     Assert( window == FrontWindow() );
  62.  
  63.     if ( TrackBox( window, click.Where(), inZoomOut ) )
  64.         ZoomWindow( window, inZoomOut, true );
  65.   }
  66.  
  67. void StrangeWindow::ClickGrow( const MouseDownEvent& click )
  68.   {
  69.     Assert( window == FrontWindow() );
  70.  
  71.     static const Rect limits = { 64, 64, maxint16, maxint16 };
  72.     
  73.     int32 result = GrowWindow( window, click.Where(), &limits );
  74.     
  75.     if ( result != 0 )
  76.         SizeWindow( window, Word0( result ), Word1( result ), true );
  77.   }
  78.